home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / pc / pm65sdk / sourcecode / includes / ciprivatedata.h < prev    next >
C/C++ Source or Header  |  1996-11-18  |  2KB  |  57 lines

  1. /***[f*****************************************************************
  2.  *    PDataInt.h    -- Private Data Interface. 
  3.  *
  4.  *    Copyright 1996 (c) Adobe Systems, Inc. All Rights Reserved
  5.  *
  6.  *    Public version
  7.  *    
  8.  * $Revision:   1.4  $
  9.  *
  10.  *
  11.  *
  12.  ***f]*****************************************************************/
  13.  
  14. #ifndef __PDATAINT_H
  15. #define __PDATAINT_H
  16.  
  17. #include "pmtypes.h"
  18. #include "CIObjectAccess.h"
  19.  
  20. //    Some common data types
  21. //
  22. #define WINMETAFILE    "EMF"
  23. #define MACPICT        "PICT"
  24. #define POSTSCRIPT    "PS"
  25.  
  26. //    Seek type
  27. //
  28. typedef enum { PDSEEK_SET, PDSEEK_CUR, PDSEEK_END } SeekType;
  29.  
  30. class CIPrivateData : public CIInterface
  31. {
  32. public:
  33. //    General purpose private data interface functions
  34. //
  35.     virtual PMErr OpenPrivateData(char *pName, char *dataType, 
  36.                                 unsigned long mustExist) = 0;
  37.     virtual PMErr ClosePrivateData() = 0;
  38.      virtual PMErr DeletePrivateData(char *pName, char *dataType) = 0;
  39.     virtual PMErr DeletePrivateDataStorage(char *pName) = 0;
  40.  
  41. //     Functions for object level private data specifically.
  42. //
  43.     virtual PMErr OpenPrivateData(PMOBJ_REC* pObjRec, char *dataType, 
  44.                                 unsigned long mustExist) = 0;
  45.     virtual PMErr DeletePrivateData(PMOBJ_REC* pObjRec, char *dataType) = 0;
  46.     virtual PMErr DeletePrivateDataStorage(PMOBJ_REC* pObjRec) = 0;
  47.     
  48. //    I/O functions
  49.     virtual PMErr ReadPrivateData(void **pData, unsigned long size, unsigned long &aSize) = 0;
  50.     virtual PMErr WritePrivateData(void *pData, unsigned long size) = 0;
  51.     virtual PMErr SeekPrivateData(long offset, SeekType sType) = 0;
  52.  
  53.     virtual void FreeMemory(void *lpData) = 0;
  54. };
  55.   
  56. #endif
  57.